1. Field of the Invention
The present invention relates generally to communications over packet networks. More particularly, the present invention relates to error correction for modem and fax communications over a packet network, such as the Internet, utilizing the Internet Protocol (“IP”).
2. Related Art
In recent years, packet-based networks, such as the Internet, have begun to replace the traditional analog telephone networks for transportation of voice and data. For example, with the emergence of voice over IP (“VoIP”), telephone conversations may now be captured, encoded and transported over the Internet. In a conventional VoIP system, telephone conversations or analog voice may be transported over the local loop or the public switch telephone network (“PSTN”) to the central office (“CO”). From the CO, the analog voice is transported to a gateway device at the edge of the packet-based network. The gateway device converts the analog voice or speech to encoded data using a codec (coder/decoder), according to one of various existing protocols, such as G.729, G.711, G.723.1, etc. Next, the encoded data is transmitted over the Internet using the Internet Protocol for reception by a remote gateway device and conversion back to analog voice.
More recently, focus has been directed toward using the existing packet-based network and gateway devices, which have been designed to support the transportation of analog voice or speech over IP, to further support facsimile (“fax”) communication over packet networks (e.g., Fax over Internet Protocol (“FoIP”)) and modem communication over packet networks (e.g., Modem over Internet Protocol (“MoIP”)). FIG. 1 illustrates a block diagram of a conventional communication model for data communication over a packet-based network, such as the Internet. As shown, communication model 100 includes first client communication device 110 in communication with first gateway communication device 120 over PSTN providing transmit and receive channels 112 and 114. Communication model 100 further includes second client communication device 150 in communication with second gateway communication device 140 over PSTN providing transmit and receive channels 144 and 142. Communication model 100 enables communications between first gateway communication device 120 and second gateway communication device 140 via a packet network 130 utilizing the Internet Protocol. The Internet Protocol implements the network layer (layer 3) of a network protocol, which contains a network address and is used to route a message to a different network or subnetwork. The Internet Protocol further accepts packets from the layer 4 transport protocol, such as Transmission Control Protocol (“TCP”) or User Data Protocol (“UDP”), and adds its own header and delivers the data to the layer 2 data link protocol. TCP provides transport functions, which ensures that the total amount of bytes sent is received correctly at the other end. UDP, which is part of the TCP/IP suite, is an alternate transport that does not guarantee delivery. It is widely used for real-time voice and video transmissions where erroneous packets are not retransmitted.
For purposes of FoIP, communication devices 110, 120, 140 and 150 are capable of performing facsimile functions. For MoIP, communication devices 110, 120, 140 and 150 are capable of performing modem functions. Facsimile and modems devices are capable of converting digital pulse to audio frequencies (modulation) and vice versa (demodulation) for transmission of fax or modem data over an analog telephone line using corresponding transmission modulation systems. For example facsimile devices may support a variety fax modulation standards, such as those defined in the ITU (International Telecommunications Union) Group 3 protocols: V.21, V.17, V.27 or V.29, for example. Similarly, modems may support a variety of data modulation standards, such as ITU standards: V.22bis, V.34, V.90 or V.92, etc. Communication devices 110, 120, 140 and 150 may also be cable or DSL modems, which are all digital and technically not modems, but referred to as modems in the industry. Most modems are also capable of supporting various voice and facsimile standards.
Conventionally, the communication process for a FoIP session begins when first client fax ((“F1”) or first client communication device 110) calls first gateway ((“G1”) or first gateway communication device 120). As a result, G1 calls second gateway ((“G2”) or second gateway communication device 140), and G2 in turn calls second client fax ((“F2”) or second client communication device 150).
Typically, G1 and G2, in their default mode of operation, communicate in voice mode and are configured to use a compressed voice protocol, such as the ITU standard G.723.1. As the calling device, F1 transmits a calling (“CNG”) tone (a 1100 hertz (Hz)) half-second tone repeated every 3.5 seconds) when initiating a call to F2. This CNG tone causes G1 and G2 to switch to an uncompressed voice protocol, such as ITU standard G.711, which provides toll quality audio at 64 Kbps using either A-Law or μ-Law pulse code modulation methods. G1 and G2 may also switch to an uncompressed voice protocol upon detection of certain data signals or flags (e.g., CED or V.21 flags). This uncompressed digital format is used in order to allow easy connections to legacy telephone networks. By switching to G.711, the tones generated by F1 may propagate through G1 and G2 in a more intact manner in order to reach F2 at the other side.
One existing method provides for maintaining G1 and G2 in G.711 or “pass through” mode, such that F1 and F2 are able to exchange control commands over packet network 130 and transfer data using G.711 packets using the Internet Protocol. However, such solution suffers from various problems, such as packet losses. Similar problems, including packet losses, also occur during MoIP sessions in pass through mode. Packet losses degrade communication over a packet network, resulting in communication errors between the client devices during FoIP and/or MoIP sessions. Packet losses are particularly problematic over wide-area connections. To overcome such problems, fax connections are terminated locally such that F1 and G1 handshake and make a connection locally and, similarly, F2 and G2 handshake and make a connection locally. After F1 and G1 establish a connection, F1 encodes, modulates and transmits data to G1 on line 112 and G1 receives, demodulates and decodes the data prior to encoding the data for transmission over network 130. Similarly, after F2 and G2 establish a connection, F2 encodes, modulates and transmits data to G2 on line 144 and G1 receives, demodulates and decodes the data prior to encoding the data for transmission over packet network 130. Under such an arrangement, there exists a strong need to provide error correction mode selection and management for data transmission over packet network 130 in order to optimize the bandwidth usage over packet network 130.